Date: Wed, 20 Nov 1996 21:43:24 GMT
Server: NCSA/1.5
Content-type: text/html

<TITLE>Computer Science 410 --- Spring 1996</TITLE>
<!--- This is a comment --->
<!BODY background="http://home.netscape.com/home/bg/paper/greenwhite_paper.gif">
<!BODY background="http://home.netscape.com/home/bg/paper/orange_paper.gif">
<!BODY background="http://home.netscape.com/home/bg/stucco/yellow_stucco.gif">
<!BODY background="http://home.netscape.com/home/bg/paper/yellow_paper.gif">
<!BODY background="http://home.netscape.com/home/bg/paper/teal_paper.gif">
<!BODY background="http://home.netscape.com/home/bg/rock/yellow_rock.gif">
<!BODY background="http://home.netscape.com/home/bg/weave/lipurple_weave.gif">
<!BODY background="http://home.netscape.com/home/bg/weave/yellow_weave.gif">
<!BODY background="http://home.netscape.com/home/bg/fabric/pink_fabric.gif">
<BODY bgcolor= #AFEEEE> <! pale turqouise>

<H2>Computer Science 410 - Spring 1996</h2>
<!WA0><a href="http://cs-www.bu.edu/Home.html">
Computer Science Department, Boston University</a>
</hr>


 <h3>Current information</h3>
 <strong>Homework:</strong> (and its solution, after the submission
date), in the directory ~cs410/gacs/handout.
 <hr>
 <h3>Useful pointers</h3>
 <!WA1><a href=  http://www.eecs.nwu.edu/unix.html>
 The Unix Reference Desk </a>
 <br>
 <!WA2><a href=http://www.cs.cmu.edu/Web/People/rgs/perl.html>
 Perl Manual </a>
 <br>
 <!WA3><a href=http://www.teleport.com/~rootbeer/perl.html>
 More on Perl </a>
 <hr>

 <strong>Instructor:</strong>Peter Gacs,
 <strong>Email:</strong> gacs@cs.bu.edu,
 <strong>Phone:</strong> 353-2015,
 <strong>Office:</strong> MCS 277
 <br>
 <strong>Office hours:</strong> Mon 3:00-4:30, Wed 12:30-2:00

 <p>
 <strong>Time:</strong> Mon, Wed, Fri 2-3, 
 <strong>Place:</strong> MCS B33

 <h3>Texts</h3>
  Required:
 <ul>
  <li> Kernighan, Pike: The Unix Programming Environment, Prentice-Hall,
ISBN 0-13-937681-x
  <li> Wall, Schwartz: Programming Perl, O'Reilly and Associates,
Inc., 1990, ISBN 0-937175-64-1
  <li> Stevens: Advanced Programming in the UNIX Environment,
Addison-Wesley, ISBN 0201563177
  </ul>
  Recommended:
 <ul>
  <li> Schwartz: Learning Perl,  O'Reilly and Associates,
Inc., 1994, ISBN 1-56592-042-2
 </ul>

<hr>

 <h3>Description</h3>
  The course teaches the use of the facilities of the Unix operating
system in the writing of application programs.
  General principles of operating system design will be discussed only
as much as necessary for this purpose.  We will be programming in a
shell, in the Perl language and C.
  The topics include the file system, terminal I/O, process management
and interprocess communication.
  We will concentrate on the specific system available (Solaris) but
the concepts and techniques learned will be applicable to other Unix
versions and even other operating systems.

  Knowledge of the C programming language and use of the Unix system
to edit, build and execute programs is a prerequisite.

<hr>

 <h3>Homework</h3>
  Weekly programming assignments due generally Sunday evenings, at 8pm
by e-mail.
  The Subject line of the message must contain the word 410HW.
The credit given for the homework decreases by 10% every hour after
8pm.
  A student can get at most one exception for not submitting homework
on time.

 <h3>Exams</h3>
  Only a single double-sided sheet of handwritten notes
("crib-sheet") is allowed.
  The final exam covers the whole material.

 <h3>Grading</h3>
  Homework makes up 60% of the grade, with 15% left to the midterm and
final examination each and 10% left to reward active class
participation.
  An Incomplete grade will only be given in exceptional circumstances.

 <h3>Cooperation</h3>
  Cooperation is recommended in understanding various concepts and
system features.
  But the actual programming and debugging of the homework must be
wholly individual work.
  Plagiarism is often easy to discover.
  The University requires me to forward every suspected case of
plagiarism to the appropriate committees.

 <hr>

 <h3>Tentative timetable</h3>
 
       Jan 17 - : basic concepts from Kernighan-Pyke
  <br> Feb 7 - : Shell-Perl programming
  <br> March 1 - : (Start using C, too) I/O, files and directories
  <br> March 15 - : creating and connecting processes
  <br> March 20: Midterm (material up to but excluding "exec")
  <br> March 29 -: signals, terminals, job control
  <br> April 12 -: sockets, tba
</body>
